package org.jsola.hr.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.entity.BaseDeleteDO;
import org.jsola.core.entity.Key;

import java.util.Date;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;

/**
 * 备忘录配置
 *
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "hr_memo_config")
@Key(UUID = true)
public class MemoConfigDO extends BaseDeleteDO<String> {

    private static final long serialVersionUID = 1L;

    /**
     * 标题
     */
    private String title;
    /**
     * 内容
     */
    private String content;
    /**
     * 是否提醒（0：不提醒，1：提醒）
     */
    private Boolean remindNeed;
    /**
     * 提醒提前时间（1：实时，2：5分钟前，3：15分钟前，4：30分钟前，5：1小时前，6：2小时前，7：1天前，8：2天前，9：一周前）
     */
    private Integer remindBefore;
    /**
     * 提醒日期类型 1固定日期提醒，2周期性提醒
     */
    private Integer remindType;
    /**
     * 提醒日期
     */
    private Date remindDate;
    /**
     * 提醒时间
     */
    private String remindTime;
    /**
     * 周期性提醒的单位 DAY WEEK MONTH YEAR
     */
    private String remindUnit;
    /**
     * 周期性提醒的具体值 1-99,只有一个值，例：每X天通知一次
     */
    private String remindDayUnitValue;
    /**
     * 周期性提醒的具体值 ,MONDAY  TUESDAY  WEDNESDAY THURSDAY  FRIDAY  SATERDAY SUNDAY 多个用逗号隔开 例：每周二、周四通知 
     */
    private String remindWeekUnitValue;
    /**
     * 周期性提醒的具体值 1-99,多个用逗号隔开 例：每月1号、5号通知
     */
    private String remindMonthUnitValue;
    /**
     * 周期性提醒的具体值 1-99,多个用逗号隔开 例：每月第1、第2个星期
     */
    private String remindMonthUnitWeekUnit;
    /**
     * 周期性提醒的具体值 ,MONDAY  TUESDAY  WEDNESDAY THURSDAY  FRIDAY  SATERDAY SUNDAY 多个用逗号隔开 例：每周二、周四通知
     */
    private String remindMonthUnitWeekValue;
    /**
     * 周期性提醒的具体值 1-99,只有一个值，例：每1年通知一次
     */
    private String remindYearUnitValue;
    /**
     * 公司id
     */
    private String companyId;



}

